home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 19 / Amiga Plus Leser CD 19.iso / Online / AmigaTalk / intuition / GUI.st < prev    next >
Text File  |  2002-01-29  |  3KB  |  108 lines

  1. " --------------------------------------------------------------------- "
  2. " GUI Class allows the User to make GUI's using the GadTools function-  "
  3. " ality of Intuition.  This Class is a lot simpler than Gadget Classes, "
  4. " Menu Classes & the Window Class.                                      "
  5. " --------------------------------------------------------------------- "
  6. " WARNING "
  7. " This class is not finished! "
  8. ""
  9. " HISTORY "
  10. "     19-May-2000 - Created the first draft of the Class.               "
  11. " --------------------------------------------------------------------- "
  12.  
  13. Class GUI :Glyph  ! private numGadgets parentScreen gadArray !
  14. [
  15.    refreshGadgets
  16.       <primitive 181 4 'RefreshGadgets' private>
  17. |
  18.    handleIntuition
  19.       ^ <primitive 181 16 private>
  20. |
  21.    addMenuStrip: menuObject
  22.       <primitive 181 5 'AddMenuStrip' menuObject private>
  23. |
  24.    removeMenuStrip
  25.       <primitive 181 4 'RemoveMenuStrip' private>
  26. |
  27.    infoReq: msg title: t
  28.       <primitive 181 13 msg t 'OKAY'>
  29. |
  30.    yesNoReq: msg title: t
  31.       ^ <primitive 181 13 msg t 'YES|NO'>
  32. |
  33.    getUserChoice: msg title: t choices: bstr
  34.       ^ <primitive 181 13 msg t bstr>
  35. |
  36.    at: aNumber
  37.       ( (aNumber < 1) or: [aNumber > <primitive 4 gadArray>] )
  38.          ifTrue: [ self error: 'index error'. ^nil ].
  39.  
  40.       ^ <primitive 111 gadArray aNumber>
  41. |
  42.    at: aNumber put: aGadget
  43.       ((aNumber < 1) or: [aNumber > <primitive 4 gadArray>])
  44.          ifTrue: [ self error: 'index error'. ^nil ].
  45.  
  46.       <primitive 112 gadArray aNumber aGadget>.
  47.  
  48.       ^ aGadget
  49. |
  50.    sizeGadgetArray
  51.       ^ <primitive 4 gadArray>
  52. |
  53.    newGadgetTagArray: gNum tags: tagArray ! tagsize !
  54.       tagsize <- tagArray size.
  55.       <primitive 183 xx (gNum - 1) tagsize tagArray>
  56. |
  57.    newGadgetArray: howMany
  58.       numGadgets <- howMany.
  59.       ^ gadArray <- <primitive 114 howMany>
  60. |
  61.    setGadgetID: newGadgetID for: gadgetObject
  62.       <primitive 183 3 0 7 newGadgetID gadgetObject>
  63. |
  64.    getMenuFlagsFor: menuObject
  65.       ^ <primitive 182 2 4 menuObject>
  66. |
  67.    setMenuFlags: newFlags for: menuObject
  68.       menuObject setMenuFlags: newFlags
  69. |
  70.    printIText: iTextObject at: aPoint
  71.       <primitive 181 14 iTextObject (aPoint x) (aPoint y) private>
  72. |
  73.    setGUIOrigin: newPoint ! x y !
  74.       x <- newPoint x.
  75.       y <- newPoint y.
  76.  
  77.       <primitive 181 3 0 x private>.
  78.       <primitive 181 3 1 y private>
  79. |
  80.    setGUISize: sizePoint ! w h !
  81.       w <- sizePoint x.
  82.       h <- sizePoint y.
  83.  
  84.       <primitive 181 3 2 w private>.
  85.       <primitive 181 3 3 h private>
  86. |
  87.    setFlags: newFlags
  88.       <primitive 181 3 6 newFlags private>
  89. |
  90.    setIDCMPFlags: newIDCMP
  91.       <primitive 181 3 7 newIDCMP private>
  92. |
  93.    new
  94.      self error: 'GUI Class only responds to "new:"'.
  95.      ^ o_nil
  96. |
  97.    new: guiTitle
  98.       private <- <primitive 181 17 guiTitle>.
  99.       ^ self
  100. |
  101.    closeGUI
  102.       <primitive 181 0 private>
  103. |
  104.    openOnScreen: screenObject
  105.       <primitive 181 1 screenObject private>.
  106.       parentScreen <- screenObject
  107. ]
  108.